package com.wsoft.cms.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.wsoft.cms.entity.CmsAnnouncementCommentEntity;
import com.wsoft.cms.query.comment.CommentInsertQuery;
import com.wsoft.cms.query.comment.CommentListInfoQuery;
import com.wsoft.cms.query.comment.CommentListQuery;
import com.wsoft.cms.query.comment.CommentMainListQuery;
import com.wsoft.cms.vo.comment.CommentVO;
import com.wsoft.cms.vo.comment.MainCommentVO;

/**
 * <p>
 * 公告评价表 服务类
 * </p>
 *
 * @author juiet
 * @since 2024年11月27日 10:37:58
 */
public interface ICmsAnnouncementCommentService extends IService<CmsAnnouncementCommentEntity> {

    /**
     * 新增评论
     * @param query
     * @return
     */
    boolean insertComment(CommentInsertQuery query);

    /**
     * 删除评论
     * @param id
     * @param isUser 是否用户删除
     * @return
     */
    boolean deleteComment(Long id,boolean isUser);

    /**
     * 获取主评论的子评论列表
     * @param query
     * @return
     */
    PageInfo<CommentVO> getChildCommentPage(CommentListQuery query);

    /**
     * 获取主评论分页
     * @param query
     * @return
     */
    PageInfo<MainCommentVO> getMainCommentPage(CommentMainListQuery query);


    /**
     * 获取评论分页 后台
     * @param query
     * @return
     */
    PageInfo<CmsAnnouncementCommentEntity> listCommon(CommentListInfoQuery query);
}
